﻿package com.ld.hpfs.dao;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import org.springframework.stereotype.Repository;


@Repository
public interface DealMapper {		
	ArrayList<HashMap<String,Object>> getDealSearchList(HashMap<String,Object> param);
	int getDealSearchListCount(HashMap<String,Object> param);
	ArrayList<HashMap<String,Object>> getDealPrintList(HashMap<String,Object> param);
	int getDealPrintListCount(HashMap<String,Object> param);
	
	
	ArrayList<HashMap<String,Object>> getDealFieldList();
	ArrayList<HashMap<String,Object>> getDealFieldList1();
	
	ArrayList<HashMap<String,Object>> getInitOrderStr(HashMap<String,Object> param);
	
	void deletePrintOrder(HashMap<String,Object> param);
	void insertPrintOrder(HashMap<String,Object> param);
	
	ArrayList<HashMap<String,Object>> getHeadInfoForExport(HashMap<String,Object> param);
	ArrayList<HashMap<String,Object>> getDetailInfoForExport(HashMap<String,Object> param);
	
	void setDeInvoiced(HashMap<String,Object> param);
	void setInvoiced(HashMap<String,Object> param);
	void setKeep(HashMap<String,Object> param);
	void setDeKeep(HashMap<String,Object> param);
	
	//取消审核
	void cancelAudit(HashMap<String,Object> param);
	
    void setAssociatPreopen(HashMap<String,Object> param);
    void setAssociatPreclose(HashMap<String,Object> param);
    void setAssociatPreclosere(HashMap<String,Object> param);
    
	void setToPrint(HashMap<String,Object> param);
	ArrayList<HashMap<String,Object>> checkDetailAmount(HashMap<String,Object> param);

	List<HashMap<String,Object>> getExportExcelList(HashMap<String,Object> param);
	List<HashMap<String, Object>> getSearchList();

	List<HashMap<String,Object>> getSearchExportExcelList(HashMap<String,Object> param);


	ArrayList<HashMap<String,Object>> getDocumentNO(HashMap<String,Object> param);	
	ArrayList<HashMap<String,Object>> getCustomList(HashMap<String,Object> param);	
	ArrayList<HashMap<String,Object>> getGoodsNameList(HashMap<String,Object> param);
	void updateOutCodeByOutCode(ArrayList<HashMap<String, Object>> list);

	void UpdateStateToPrinting(HashMap<String,Object> param);
	void insertInvoiceStateFromImport(HashMap<String,Object> param);
    void updateInvoiceStateFromImport(HashMap<String,Object> param);
    void insertInvoiceStateDetailFromImport(HashMap<String,Object> param);
	List<HashMap<String, Object>> getPrintList(HashMap<String, Object> param);
	int setExportType(HashMap<String, Object> param);
	void updateDoc_Status(HashMap<String, Object> param);
	void savePrintList(List<HashMap<String,Object>> list);
	void updateDoc_StatusTo1(HashMap<String, Object> list);
	void delectDOCUMENT_NOFromTAX_NUMS(List<HashMap<String, Object>> lists);
	int getNumsByTax_nums();
	void savePrintListToTax_nums(HashMap<String, Object> param);
	int getPrintingCount();
	HashMap<String, Object> getPrintingInfo();
	void setPrint_ModeToRunning(String dOCUMENT_NO);
	int getGen_OutCode(HashMap<String, Object> param);
	
	public ArrayList<HashMap<String,Object>> getDetailListForSplit(HashMap<String,Object> param);
	ArrayList<HashMap<String,Object>> finddealStateUnsplitUnmerge(HashMap<String, Object> param);
	ArrayList<HashMap<String, Object>> existsDataByDoc_No(
			HashMap<String, Object> param);
	public void ImportExcelAerMapping(HashMap<String,Object> param);
	
	public void UpdateExcelAerMapping(HashMap<String,Object> param);
    public void ImportExcelAerDetailMapping(HashMap<String,Object> param);
	
	public void UpdateExcelAerDetailMapping(HashMap<String,Object> param);
	ArrayList<HashMap<String, String>> findDocNoByGoodsName(HashMap<String,Object> param);
	HashMap<String, Object> getHeadInfoByDocument(HashMap<String, Object> head);
	ArrayList<HashMap<String, Object>> getDetailInfoByDocument(
			HashMap<String, Object> head);
	List<HashMap<String,Object>> getPrintHeadInfo(HashMap<String, Object> map);
	List<HashMap<String, Object>> getPrintDetailInfo(
			HashMap<String, Object> map);
	ArrayList<HashMap<String,Object>> getBeforeDoc(HashMap<String, Object> param);
	ArrayList<HashMap<String, Object>> getBrotherDoc(HashMap<String, Object> param);
	ArrayList<HashMap<String, Object>> getdocStatusByBroDoc(HashMap<String, Object> param);
	HashMap<String, Object> findinfoBydoc(HashMap<String, Object> map);
	void insertInfo(HashMap<String, Object> map);
	void insertDetailInfo(List<HashMap<String, Object>> list);
	HashMap<String, Object> exlstsHeadInfo(HashMap<String, Object> param);
	void saveIpAddress(HashMap<String, Object> map);
	HashMap<String,Object> getClientIp();
	void delectClientIp(HashMap<String, Object> map);
	void editNum(HashMap<String,Object> param);
	
	ArrayList<HashMap<String,Object>> getDealScanList(HashMap<String,Object> param);
	int getDealScanListCount(HashMap<String,Object> param);
	ArrayList<HashMap<String,Object>> getExpressType(HashMap<String,Object> param);
	ArrayList<HashMap<String,Object>> getExpressType1(HashMap<String,Object> param);
	ArrayList<HashMap<String,Object>> getExpressType2();

	
	void saveExpressNo(HashMap<String,Object> param);
	List<HashMap<String, Object>> getIpAddress(String ipAddress);
	Integer getIPCount(HashMap<String, Object> param);
	ArrayList<HashMap<String,Object>> getExpressNO(HashMap<String,Object> param);
	void updateStateFlag(HashMap<String, Object> param);
	/**
	 * 获取快递公司code
	 * @param param
	 * @return
	 */
	String getExpressCode(HashMap<String,Object> param);
	// 处理中心查询处理一般查询：获取发票号码
	ArrayList<HashMap<String, Object>> getInvoiceNum(HashMap<String, Object> param);
	// 获取快递单扫描新增快递单号的单据信息
	HashMap<String, Object> getDataForExpress(HashMap<String, Object> param);
	// 检查当前公司是否启用快递100功能
	int getExpressStatus(String companyId);
	// 获取发票代码和号码
	HashMap<String, Object> getInvoiceNCode(HashMap<String, Object> param);
	// 获取快递单号
	ArrayList<HashMap<String, Object>> getDealScanExpressNo(
			HashMap<String, Object> param);
	
	// 获取快递ID
		ArrayList<HashMap<String, Object>> getExpressTypeByname(
				HashMap<String, Object> param);
	
}
